package com.lilosoft.core.base;

import java.util.HashMap;
import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

import com.baomidou.mybatisplus.plugins.Page;

/**
 * DAO支持类实现
 *
 * @author qiusheng
 * @Date 2018-10-30
 */
@SuppressWarnings("rawtypes")
public interface CrudDao<T> extends BaseDao {

	/**
	 * 获取单条数据
	 * @param id
	 * @return HashMap
	 */
	public HashMap<String, Object> getById(String id);
	
	/**
	 * 获取单条数据
	 * @param paramsMap
	 * @return HashMap
	 */
	public HashMap<String, Object> getByParams(HashMap<String, Object> paramsMap);
	
//	/**
//	 * 查询数据列表
//	 * @return List<HashMap<String, Object>>
//	 */
//	public List<HashMap<String, Object>> findList(@Param("page") Page page, HashMap<String, Object> paramsMap);
	
	/**
	 * 查询数据列表
	 * @return List<HashMap<String, Object>>
	 */
	public List<HashMap<String, Object>> findList(RowBounds rowBounds, HashMap<String, Object> paramsMap);
	
	/**
	 * 插入数据
	 * @param entity
	 * @return int
	 */
	public int insert(T entity);
	
	/**
	 * 更新数据
	 * @param entity
	 * @return int
	 */
	public int update(T entity);
	
	/**
	 * 删除数据
	 * @param entity
	 * @return int
	 */
	public int delete(String id);
	
}